home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / IDL / LinkSrcB.idl < prev    next >
Encoding:
Text File  |  1994-04-19  |  2.4 KB  |  107 lines  |  [TEXT/MPS ]

  1. //# Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  2. #ifndef _LINKSRCB_
  3. #define _LINKSRCB_
  4.  
  5. #ifndef _PSTOBJ_
  6. #include "PstObj.idl"
  7. #endif
  8.  
  9. //==============================================================================
  10. // Theory of Operation
  11. //==============================================================================
  12.  
  13. /*
  14.   This class is used to represent the source side of OpenDoc links. ODDrafts
  15.   create and own these links. The source ODPart will ask the draft to create
  16.   an ODLinkSource and an ODLink pair, and return the ODLink object to the
  17.   the destination part.  The destination part uses the ODLink object to
  18.   extract the contents of the link.
  19. */
  20.  
  21. //==============================================================================
  22. // Classes defined in this interface
  23. //==============================================================================
  24.  
  25. interface  ODBaseLinkSource;
  26.  
  27. //==============================================================================
  28. // Classes used by this interface
  29. //==============================================================================
  30.  
  31. interface ODStorageUnit;
  32. interface ODPart;
  33. interface ODPartList;
  34. interface ODLink;
  35. interface ODDraft;
  36.  
  37. //==============================================================================
  38. // ODLinkSource
  39. //==============================================================================
  40.  
  41. interface ODBaseLinkSource :  ODPersistentObject
  42. {
  43.     ODBoolean Lock(in ODULong wait,
  44.                     in ODLinkKey key);
  45.     
  46.     void Unlock(in ODLinkKey key);
  47.     
  48.     ODStorageUnit  GetContentStorageUnit(in ODLinkKey key);
  49.     
  50.     void ContentChanged(in ODChangeID id);
  51.     
  52.     void Clear(in ODChangeID id,
  53.                 in ODLinkKey key);
  54.     
  55.     ODChangeID GetChangeID();
  56.     
  57.     void SetAutoUpdate(in ODBoolean automatic);
  58.     
  59.     ODBoolean IsAutoUpdate();
  60.     
  61.     ODLink  GetLink();
  62.     
  63.     void SetSourcePart(in ODStorageUnit sourcePartSU);
  64.     
  65.     void ShowSourceContent();
  66.     
  67.     ODTime GetChangeTime();
  68.     
  69.     ODStorageUnit  CloneTo(in ODDraftKey draftKey,
  70.                             in ODDraft destDraft,
  71.                             in ODStorageUnit newSourcePartSU);
  72.  
  73.  
  74. #ifdef __SOMIDL__
  75.  
  76.     implementation
  77.     {
  78.     override:
  79.         somInit,
  80.         somUninit;
  81.         
  82.     releaseorder:
  83.         Lock,    
  84.         Unlock,
  85.         GetContentStorageUnit,
  86.         ContentChanged,
  87.         Clear,
  88.         GetChangeID,
  89.         SetAutoUpdate,
  90.         IsAutoUpdate,
  91.         GetLink,
  92.         SetSourcePart,
  93.         ShowSourceContent,
  94.         GetChangeTime,
  95.         CloneTo,
  96.         reserved1,
  97.         reserved2;
  98.  
  99.         majorversion = 1; minorversion = 0;
  100.  
  101.         
  102.     };
  103. #endif //# __SOMIDL__
  104. };
  105.  
  106. #endif //# _LINKSRCB_
  107.